package org.acghub.json;

import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.google.gson.JsonObject;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.bson.BsonDocument;
import org.bson.Document;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Pet implements MultiMarshal{

    private int id;
    private String name;
    private PetEnum petEnum;

    public Document marshal(Document writeDoc) {
        writeDoc.put("id", id);
        writeDoc.put("name", name);
        writeDoc.put("petEnum", petEnum);
        return null;
    }

    public void unmarshal(Document readDoc) {

    }

    @Override
    public BsonDocument marshal(BsonDocument writer) {
        writer.put("id", new org.bson.BsonInt32(id));
        return null;
    }

    @Override
    public void unmarshal(BsonDocument reader) {

    }

    public JSONObject marshal(JSONObject writer) {
        return null;
    }

    public void unmarshal(JSONObject reader) {

    }

    public ObjectNode marshal(ObjectNode writer) {
        return null;
    }

    public void unmarshal(ObjectNode reader) {

    }

    public JsonObject marshal(JsonObject writer) {
        return null;
    }

    public void unmarshal(JsonObject reader) {

    }
}
